Due to ever increasing video resolutions, and rising expectations for high quality video images, a high demand exists for efficient image data compression of video while performance is limited for coding with existing video coding standards such as H.264, H.265/HEVC (High Efficiency Video Coding) standard, and VP8/VP9. The aforementioned standards use expanded forms of traditional approaches to address the insufficient compression/quality problem, but the results are still insufficient.
Each of these typical video coding systems uses an encoder that generates data regarding video frames that can be efficiently transmitted in a bitstream to a decoder and then used to reconstruct the video frames. This data may include the image luminance and color pixel values as well as intra and inter prediction data, filtering data, residuals, and so forth that provide lossy compression so that the luminance and color data of each and every pixel in all of the frames need not be placed in the bitstream. Once all of these lossy compression values are established, one or more entropy coding methods, which is lossless compression, then may be applied. The entropy coding procedures are important to significantly reduce the number of bits that represents each string of symbols, or each syntax or symbol (each number or letter for example), in the bitstream and for reconstruction at the decoder.
Adaptive entropy coding systems use a listing of probabilities that each symbol is present in a given sequence to be coded on each frame. These probabilities are updated each frame or other interval in some systems, and the listing can become quite large with thousands of probabilities for thousands of possible symbols. A more efficient way to update the probabilities is desired.